@瞌睡虫
2年前 提问
1个回答

服务器预防文件上传攻击方法有哪些

趣能一姐
2年前

服务器预防文件上传攻击方法有以下这些:

  • 文件上传的目录设置为不可执行:最有效的,将文件上传目录直接设置为不可执行,对于Linux而言,撤销其目录的’x’权限;实际中很多大型网站的上传应用都会放置在独立的存储上作为静态文件处理,一是方便使用缓存加速降低能耗,二是杜绝了脚本执行的可能性。

  • 判断文件类型:在判断文件类型时,可以结合使用MIME Type、后缀检查等方式。在文件类型检查中,强烈推荐白名单方式,黑名单的方式已经无数次被证明是不可靠的。此外,对于图片的处理,可以使用压缩函数或者resize函数,在处理图片的同时破坏图片中可能包含的HTML代码

  • 使用随机数改写文件名和文件路径:文件上传如果要执行代码,则需要用户能够访问到这个文件。在某些环境中,用户能上传,但不能访问。如果应用了随机数改写了文件名和路径,将极大地增加攻击的成本。再来就是像shell.php.rar.rar和crossdomain.xml这种文件,都将因为重命名而无法攻击。

  • 单独设置文件服务器的域名:由于浏览器同源策略的关系,一系列客户端攻击将失效,比如上传crossdomain.xml、上传包含Javascript的XSS利用等问题将得到解决

  • 定期进行漏洞扫描:定期对服务器进行安全漏洞扫描,及时发现服务器内部存在的漏洞,并将这些漏洞进行修补,防止攻击者利用这些漏洞实施攻击。